【iOSDC Japan 2023 レポート】「SwiftUIの進化についていくためにやったこと」を聞いてきた。
はじめに
年に一度のiOSエンジニアの為のお祭り iOSDC Japan 2023に参加しています。
せっかくなので、参加したセッションのレポートを書きたいと思います。
SwiftUIの進化についていくためにやったこと
登壇者
概要
WWDC 2019 で発表されたSwiftUIですが、毎年たくさんの機能アップデートがありAPIも合わせてドラスティックに変化しています。
「スタディサプリ 中学講座」では、iOS 14 以降を対象としてフルSwiftUIを目指して開発をしてきました。(現在は iOS 15 以降対象)
SwiftUIが進化していく一方で運用する上では以下のような課題がありました。
- 利用できる環境は iOS 16 以上など、サポートバージョンの兼ね合いですぐに取り入れられない
- API仕様の変更によって既存の実装が非推奨となり、最適なコードと言えない状態となってしまう
このセッションでは「スタディサプリ 中学講座」の運用を通して、進化していくSwiftUIの仕様にどのように対処しているかお話しします。
引用: fortee
資料
感想
SwiftUI発表当初から共に育ってきたアプリの話を聞けて面白かったです。
過去のバージョンではすごく複雑な書き方をしていたが、新しいバージョンでSwiftUIのアップデートがあった際にはとても簡単に書けるようになった例がとても分かりやすかったです。
実際に、NavigationLink
をZStack
で後ろに隠す手法は自分もやったことがある回避作だったのでとても共感出来ました。
常に進化を続けるSwiftUIと向き合うためには最低ターゲットバージョンとの戦いも大事ですが、1年に一回サポートバージョンの見直しをされているということでそういう行動もアプリの品質向上の為には大事なんですよね。
また、プロジェクトでは機能追加ではない品質改善の為の実装時間が確保されており、その時間を活用してアプリの品質改善を行なっている話がありました。実際に機能追加を継続的にやっているとリファクタリング等の品質改善の時間を確保できなかったりするのでそういう時間をあらかじめ取っておく手法はとても勉強になりました。 また、別プロダクトの方とペアを作り、作業する時間を設けることで第三者が読んで違和感を無くするコードになる、別視点での指摘がもらえ品質向上に繋がる試みもとても参考になりました。
おわりに
最低サポートバージョンの見直しはアプリの品質改善の為にも定期的にやっていきたい!